The Domain Name System (DNS) is often referred to as the phone book of the Internet. DNS is a hierarchical naming system that resolves domain names meaningful to humans into IP addresses associated with computers, services and other resources connected to the Internet or private networks.
The DNS system makes it possible to hide information about location and IP-addresses of Internet resources from users. The users may use domain names that are assigned to groups of Internet resources independent of the resources physical location. Thus contact information in the form of e.g. e-mail addresses and Uniform Resource Locators (URLs) may remain consistent even if routing arrangements in the Internet or the resources physical location change.
The responsibility for assigning domain names and mapping those domain names to IP addresses is distributed to authoritative name servers for each domain. An authoritative name server is able to assign the responsibility for sub-domains, within the domain the authoritative name server is responsible for, to other lower level authoritative name servers. Thus the DNS is a distributed, hierarchical system that does not require maintaining a single central register.
A DNS server is a server that stores DNS records for a domain name and responds with answers to queries against its stored DNS records. The DNS server may be an authoritative name server that gives answers that have been configured by an original source, e.g. a domain administrator. This is in contrast to answers that are obtained by a DNS query to another DNS server. There are many different types of DNS records that are used for different purposes. Some examples of DNS record types are address records, name server records and mail exchanger records. Different codes have been defined to refer to different types of DNS records. A is for instance the code that is used to denote an IPv4 address record and AAAA is the code that is used for an IPv6 address record.
DNS is a distributed database system that uses a client-server model and the DNS servers can be seen as nodes of the distributed database system. A query to a DNS server may be resolved (i.e. answered) recursively. This means that if the DNS server does not store the DNS record required for resolving the DNS query from a client, the DNS server may issue a DNS query to another DNS server and then provide an answer to the client based on the answer from the other DNS server.
To improve efficiency and reduce DNS traffic across the Internet DNS servers may cache (i.e. store locally) DNS query results for a period of time that may be determined in configuration of a DNS record in question. Such a configured period of time is called the time-to-live, TTL, of the DNS record.
The United States Patent Application Publication No. US 2009/0043900 A1 discloses a DNS server that supports a plurality of virtual DNS servers. A plurality of network capable devices is configured to connect with particular virtual DNS servers for domain name resolution. Thus the concept of virtual DNS servers may make it is possible for an administrator to make configurations such that each customer/client is given their own virtual DNS server. Examples of other terms that are used to refer to a virtual DNS server are DNS server context or virtual DNS server instance.
With the introduction of IPv6 a need for translation between IPv6 and IPv4 arose. DNS64 is a logical function that synthesizes DNS resource records (e.g. AAAA records) from DNS resource records actually contained in the DNS (e.g. A records). The DNS 64 function may be used with an IPv6/IPv4 translator to enable client-server communication between an IPv6-only client and an IPv4-only server. A DNS64 server is a server that provides the DNS64 function. DNS query roundtrip is often a major factor in the delay for end users' connection setup. Thus a long DNS query roundtrip may be a problem that limits the performance of the end users' applications. Therefore it is beneficial if DNS servers are arranged to enable as fast and efficient resolution of DNS queries as possible to make it possible to keep the DNS query roundtrip as low as possible.